The present disclosure relates generally to the field of data management using an application program interface (API) and more specifically to management of data using inheritable attributes.
An application program interface (API) is a technique by which a programmer writing an application program can make requests of the operating system or another application program. An API can be contrasted with a graphical user interface or a command interface. An API, similar to both graphical user interfaces and command interfaces, can be considered as a direct user interface to an operating system or a program.
A storage subsystem of a computer may include a variety of storage device types, often referenced as target devices. These devices may include physical memory, tape or even disk-based storage devices among others. Storage devices can be grouped in a hierarchical manner and include both high-cost and low-cost or performance based storage media.
Tier Storage Management (TSM) systems or other hierarchical data storage techniques automatically move data between high-cost and low-cost storage media. Such systems exist because high-speed storage devices, such solid state disk (flash technology) are more expensive than hard disk drive arrays, and have a high cost per byte stored. By contrast, slower devices, such as optical discs and magnetic tape drives are cheaper but have less speed and reduced performance associated with them.
It is ideal to have all data available on high-speed devices all the time, but this is cost prohibitive in many instances. Consequently, conventional hierarchical storage management (HSM) systems store the bulk of the data on slower devices, and subsequently copy data to faster disk drives accordingly and when needed. In this way, fast solid state disk drives are turned into caches for the slower mass storage devices. In order to effectively differentiate between fast and slow devices, HSM systems monitor the way data is used and make adjustments based on previous usage as to which data can safely be moved to slower devices as opposed to data that needs to stay on the fast devices.